﻿//// ancestral_problem_set.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。
////
//
//#include<stdio.h>
//int main() {
//    printf(
//        "                ********\n"
//        "               ************\n"
//        "               ####....#.\n"
//        "             #..###.....##....\n"
//        "             ###.......######              ###            ###\n"
//        "                ...........               #...#          #...#\n"
//        "               ##*#######                 #.#.#          #.#.#\n"
//        "            ####*******######             #.#.#          #.#.#\n"
//        "           ...#***.****.*###....          #...#          #...#\n"
//        "           ....**********##.....           ###            ###\n"
//        "           ....****    *****....\n"
//        "             ####        ####\n"
//        "           ######        ######\n"
//        "##############################################################\n"
//        "#...#......#.##...#......#.##...#......#.##------------------#\n"
//        "###########################################------------------#\n"
//        "#..#....#....##..#....#....##..#....#....#####################\n"
//        "##########################################    #----------#\n"
//        "#.....#......##.....#......##.....#......#    #----------#\n"
//        "##########################################    #----------#\n"
//        "#.#..#....#..##.#..#....#..##.#..#....#..#    #----------#\n"
//        "##########################################    ############\n"
//    );
//    return 0;
//}
//
//#include <stdio.h>
//
//int main()
//{
//    float a, b;
//    scanf_s("%f %f", &a, &b);
//    float c = a + (b / 10);
//    float count_pencil = c / 1.9;
//    printf("%d", (int )count_pencil);
//
//
//    return 0;
// }

#include <stdio.h>

//int main()
//{
//    unsigned int  electricity;
//    float All_bill;
//    scanf_s("%u", &electricity);
//    if (electricity <= 150)
//    {
//        All_bill = electricity * (0.4463);
//        printf("%.1f", electricity);
//    }
//    else  if (electricity > 150 && electricity <= 400)
//    {
//        float part_low = 150 * (0.4463);
//        float part_high = (electricity - 150 )* 0.5663;
//       All_bill = part_low + part_high;
//            printf("%.1f", All_bill);
//
//    }
//    return 0;
//}
//
//#include <stdio.h>
//void no_happy_days(int day_count,int * arr2)
//{
//    for (int i = 0; i < 7; i++)//统计不高兴的天数（其实这个没有必要）
//    {
//
//        if (arr2[i] > 8)
//        {
//            day_count++;
//        }
//    }
//
//    printf("%d", day_count);
//
//}
//int main()
//{
//    int arr[7][2];
//    int i, j;
//    for ( i = 0; i < 7; i++)//利用二维数组将数据放到指定位置
//    {
//        for (j = 0; j < 2; j++)
//        {
//            scanf_s("%d", &arr[i][j]);
//        }
//    }
//    int arr2[7];
//    int arr3[7][2] = { 0 };
//    for (int i = 0; i < 7; i++)//将每天的学习总时长单独放到一个数组中，共七天
//    {
//
//        arr2[i] = arr[i][0] + arr[i][1]; //不高兴的天数指定，可以将不高兴的天数和周几再弄一个二维数组，前面存储不高兴指数，后面存储周几
//        if (arr2[i] > 8)
//        {
//            int x, y;
//            arr[x][y]   = arr2[i];//不高兴指数存储
//            arr[x][y+1] = i + 1; //不高兴的那天存储
//            x++; 
//            y++;
//        }
//    }
//    int day_count = 0;
//    no_happy_days(day_count,arr2);
//    //现在的主要问题是要将不高兴的那天指定出来，如果出现相同情况，还要输出不开心那天
//   //不高兴的天数指定，可以将不高兴的天数和周几再弄一个二维数组，前面存储不高兴指数，后面存储周几
//
//    //OK，将这两个存储起来了，接下来就是比较大小了，冒泡排序
//    for (int  x = 0; x < 7 - 1; x++) 
//    {
//        for ( j = 0; j < 7 - 1 - x; j++) 
//        {
//            if (arr3[j][0] < arr3[j + 1][0]) 
//            {
//                // 交换整行（两个数都要换）
//                int temp0 = arr3[j][0];
//                int temp1 = arr3[j][1];
//                arr3[j][0] = arr3[j + 1][0];
//                arr3[j][1] = arr3[j + 1][1];
//                arr3[j + 1][0] = temp0;
//                arr3[j + 1][1] = temp1;
//            }
//        }
//    }
//    printf("%d", arr3[0][1]);
//
//
//    return 0;
//}

//#include <stdio.h>
//
//int main()
//{
//    int arr[7][2];
//    int arr2[7];       // 每天学习总时长
//    int arr3[7][2];    // 不高兴指数 + 星期几
//    int k = 0;         // 实际记录的“不高兴天”数量
//
//    // 输入
//    for (int i = 0; i < 7; i++)
//    {
//        scanf_s("%d %d", &arr[i][0], &arr[i][1]);
//    }
//
//    // 计算每一天的总时长，并筛选出>8小时的
//    for (int i = 0; i < 7; i++) 
//    {
//        arr2[i] = arr[i][0] + arr[i][1];
//        if (arr2[i] > 8) 
//        {
//            arr3[k][0] = arr2[i]; // 不高兴指数
//            arr3[k][1] = i + 1;   // 星期几
//            k++;
//        }
//    }
//
//    // 如果没有不高兴天
//    if (k == 0)
//    {
//        printf("0\n");
//        return 0;
//    }
//
//    // 排序（按不高兴指数从大到小）
//    for (int x = 0; x < k - 1; x++)
//    {
//        for (int j = 0; j < k - 1 - x; j++) 
//        {
//            if (arr3[j][0] < arr3[j + 1][0]) 
//            {
//                int temp0 = arr3[j][0];
//                int temp1 = arr3[j][1];
//                arr3[j][0] = arr3[j + 1][0];
//                arr3[j][1] = arr3[j + 1][1];
//                arr3[j + 1][0] = temp0;
//                arr3[j + 1][1] = temp1;
//            }
//        }
//    }
//    for (int x = 0; x < k; x++)
//    {
//        
//        printf("%d %d\n", arr3[x][0], arr3[x][1]);
//    }
//
//    // 输出最不高兴的那一天（星期几）
//    printf("%d\n", arr3[0][1]);
//    return 0;
//}

 

//思路：
//给个月给三百快钱，用拥有的钱去减去预算，整百就存，小于整百就自己拿着
//拥有的钱是指上个： 上个月剩余的钱 + 300
//还要存储在妈妈那存的钱

//int main()
//{
//
//	int  budget[13];
//	int arr[2];
//	for (int i = 0; i < 12; i++)
//	{
//
//		scanf_s("%d", &budget[i]);
//	}
//	int reminder = 0;
//	int deposit  = 0;
//	for (int j = 0; j < 12; j++)
//	{
//		reminder = 300 - budget[j] + reminder;
//		int media = (reminder / 100);
//		if (reminder > 0)
//		{
//			if (media > 0)
//			{
//				deposit = media * 100 + deposit ;
//				reminder = reminder - media * 100;
//			}
//		}
//		else if(reminder < 0)
//		{
//			arr[0] =-( j + 1);
//			printf("%d", arr[0]);
//			return 0;
//		}
//		
//	}
//	float answer = deposit * 1.2 + reminder;
//	printf("%.0f",answer);
//	return 0;
//}

//#include <stdio.h>
//
//int main()
//{
//	int n;
//	scanf_s("%d", &n);
//	int arr[3][2] = { 0 };
//	int deposit[3] = {0};
//	for (int i = 0; i < 3; i++)
//	{
//		for (int j = 0; j < 2; j++)
//		{
//			scanf_s("%d", &arr[i][j]);
//		}
//	}
//	
//	for (int i = 0; i < 3; i++)
//	{
//		int media = 1;
//		media = (n / arr[i][0]) + 1;
//		deposit[i] = media * (arr[i][1]);
//	}
//	//在来个冒泡排序
//	for (int i = 0; i < 3 - 1; i++)
//	{
//		for (int j = 0; j < 2 - i; j++)
//		{
//			if (deposit[j] > deposit[j+ 1])
//			{
//				int num = deposit[j];
//				deposit[j] = deposit[j + 1];
//				deposit[j+ 1] = num;
//			}
//		}
//		
//	}
//	printf("%d", deposit[0]);
//	return 0;
//}
//#include <stdio.h>
//
//int main()
//{
//	int n;
//	scanf("%d", &n);
//	int arr[3][2] = { 0 };
//	int deposit[3] = { 0 };
//	for (int i = 0; i < 3; i++)
//	{
//		for (int j = 0; j < 2; j++)
//		{
//			scanf("%d", &arr[i][j]);
//		}
//	}
//
//	for (int i = 0; i < 3; i++)
//	{
//		int media = 1;
//		if (n % arr[i][0] == 0)
//		{
//			media = n / arr[i][0];
//			deposit[i] = media * (arr[i][1]);
//		}
//		else
//		{
//			media = (n / arr[i][0]) + 1;
//			deposit[i] = media * (arr[i][1]);
//		}
//	}
//	//在来个冒泡排序
//	for (int i = 0; i < 3 - 1; i++)
//	{
//		for (int j = 0; j < 2 - i; j++)
//		{
//			if (deposit[j] > deposit[j + 1])
//			{
//				int num = deposit[j];
//				deposit[j] = deposit[j + 1];
//				deposit[j + 1] = num;
//			}
//		}
//
//	}
//	printf("%d", deposit[0]);
//	return 0;
//}

//#include <stdio.h>
//
//int main()
//{
//    int n;
//    scanf_s("%d", &n);
//
//    int min_cost = 100000000; // 初始化为一个很大的数
//
//    for (int i = 0; i < 3; i++) 
//    {
//        int num, price;
//        scanf_s("%d %d", &num, &price);
//
//        // 计算需要多少包
//        int packages = n / num;
//        if (n % num != 0)
//            packages++;
//
//        // 计算总花费
//        int total_cost = packages * price;
//
//        // 更新最小值
//        if (total_cost < min_cost) 
//          {
//            min_cost = total_cost;
//        }
//    }
//
//    printf("%d", min_cost);
//    return 0;
//}
// ——————————————————           比例题型：刚开始完全没有思路————————————————————
//for (int a = 123; a <= 329; a++)
//{  // a最大为329，因为c=3a≤987
//    int b = 2 * a;
//    int c = 3 * a;
//
//    // 检查数字是否重复
//    int digits[10] = { 0 };  // 标记数组，索引1-9对应数字1-9
//
//    // 分解a的各位数字
//    digits[a / 100]++;        // 百位
//    digits[a / 10 % 10]++;    // 十位
//    digits[a % 10]++;         // 个位
//
//    // 分解b的各位数字
//    digits[b / 100]++;
//    digits[b / 10 % 10]++;
//    digits[b % 10]++;
//
//    // 分解c的各位数字
//    digits[c / 100]++;
//    digits[c / 10 % 10]++;
//    digits[c % 10]++;
//
//    // 检查是否1-9每个数字都出现一次
//    int valid = 1;
//    for (int i = 1; i <= 9; i++)
// {
//        if (digits[i] != 1)
// {
//            valid = 0;
//            break;
//        }
//    }
//
//    if (valid) {
//        printf("%d %d %d\n", a, b, c);
//    }
//}
//
//int main()
//{
//   
//    int a, b, c;
//    for (a = 123; a < 329;a++)
//    {
//        //首要条件
//        c = 3 * a;
//        b = 2 * a;
//        int digit[10] = { 0 };
//        //检查每个数字是否只出现一次
//        digit[a / 100 ]++;//百位
//        digit[a / 10 % 10]++;//十位
//        digit[a % 10]++;//个位
//
//
//        digit[b / 100 ]++;//百位
//        digit[b / 10 % 10]++;//十位
//        digit[b % 10]++;//个位
//
//        digit[c / 100 ]++;//百位
//        digit[c / 10 % 10]++;//十位
//        digit[c % 10]++;//个位
//
//        int flag = 1;//表示没有重复
//        for (int i = 1; i < 10; i++)
//        {
//            if (digit[i] != 1)
//            {
//                flag = 0;
//                break;
//            }
//        }
//        if (flag == 1)
//            printf("%d %d %d\n", a, b, c);
//            
//    }
//
//    return 0;
//}
//——————————————————级数求和
//int main()
//{
//	double k;
//	scanf_s("%lf", &k);
//	double sum = 0;
//	double i = 1.0;
//	while (sum <= k)
//	{
//		
//		sum = (1.0 / i) + sum;
//		i++;
//	}
//	printf("%.0lf", i - 1);
//	return 0;
//}
//
//int main()
//{
//	int num = 0;//步数
//	double distance;
//	scanf_s("%lf", &distance);
//	double sum = 0;
//	double cur = 2;
//	while (sum < distance)
//	{
//		num++;
//		sum += cur;
//		cur *= 0.98;
//		
//	}
//	printf("%d", num);
//	return 0;
//}

//#include <stdio.h>
//
//int main()
//{
//	//首先输入的是周几，其次是往后推算n天
//	//输入的数一定是1到7，所以可以用if语句判断，判断是不是是周六周天
//	//其实这一步应该写在循环里面，循环的次数应该是n次，三条if语句，如果语句大于七的时候，就给他减去六
//	int c_week, n;
//	int distance = 0;
//	scanf_s("%d %d", &c_week, &n);
//	int media = c_week;
//	for (int i = 0; i < n; i++)
//	{
//		if (c_week > 0 && c_week < 6)
//			distance += 250;
//		c_week++;
//		 if (c_week > 7)c_week = 1;
//	  
//	}
//	printf("%d\n", distance);
//
//	return 0;
//}
//chat _gpt 优化
//#include <stdio.h>
//
//int main()
//{
//	int c_week, n;
//	scanf("%d %d", &c_week, &n);
//
//	int distance = 0;
//	int cur = c_week;
//
//	for (int i = 0; i < n; i++)
//	{
//		if (cur >= 1 && cur <= 5)
//			distance += 250;
//
//		cur++;
//		if (cur > 7) cur = 1;
//	}
//
//	printf("%d\n", distance);
//	return 0;
//}
//思路分析:首先应该是输入一组数字，用malloc函数。
//        其次需要检测每个数字，应该是要用到while循环，直到 （数字%10） ！= 0 ，还要将
//#include <stdlib.h>
//int main()
//{
//	int n, x;
//	scanf_s("%d %d", &n,&x);
//	int* q = (int*)malloc(n * sizeof(int));
//	for (int i = 0; i < n; i++)
//		q[i] = i+1;
//	int count = 0;
//	for (int i = 0; i < n; i++)
//	{
//
//		if (q[i] < 10)
//		{
//			if (q[i] == x)
//			{
//				count++;
//			}
//		}
//		else if(q[i] >= 10)
//			while (q[i] != 0)//循环停止的条件判断
//			{
//				int media = q[i] % 10;
//				if (media == x)
//				{
//					count++;
//				}
//				q[i] = q[i] / 10;
//			}
//		
//	}printf("%d", count);
//	return 0;
//	
//}